<?php
// +----------------------------------------------------------------------
// | 名片应用
// | Author: 张亚 < zhyacn@gmail.com>
// +----------------------------------------------------------------------
namespace api\businesscard\model;

use api\common\model\CommonModel;
use think\Model;

class BusinessCardModel extends CommonModel {

	protected $type = [
		'more' => 'array',
	];

	// 开启自动写入时间戳字段
	protected $autoWriteTimestamp = true;

	//模型关联方法
	protected $relationFilter = ['user', 'categories'];

	/**
	 * 关联 user表
	 * @return $this
	 */
	public function user() {
		return $this->belongsTo('api\portal\model\UserModel', 'user_id');
	}

	/**
	 * 关联分类表
	 */
	public function categories() {
		return $this->belongsToMany('BusinessCategoryModel', 'business_category_card', 'category_id', 'post_id');
	}

	/**
	 * card_content 自动转化
	 * @param $value
	 * @return string
	 */
	public function getCardContentAttr($value) {
		return cmf_replace_content_file_url(htmlspecialchars_decode($value));
	}

	/**
	 * card_content 自动转化
	 * @param $value
	 * @return string
	 */
	public function setCardContentAttr($value) {
		return htmlspecialchars(cmf_replace_content_file_url(htmlspecialchars_decode($value), true));
	}

	/**
	 * published_time 自动完成
	 * @param $value
	 * @return false|int
	 */
	public function setPublishedTimeAttr($value) {
		return strtotime($value);
	}

	/**
	 * 获取用户的名片
	 */
	public function getUserCards($userId, $params) {
		$where = [
			'user_id' => $userId,
		];
		$params['where'] = $where;

		return $this->getDatas($params);
	}

}